#include <M5StickC.h>

float accX = 0.0F;
float accY = 0.0F;
float accZ = 0.0F;

float gyroX = 0.0F;
float gyroY = 0.0F;
float gyroZ = 0.0F;

void setup() {
    // put your setup code here, to run once:
    M5.begin();
    M5.Sh200Q.Init();
    M5.Lcd.setRotation(3);
    M5.Lcd.fillScreen(BLACK);
    M5.Lcd.setTextSize(1);
    M5.Lcd.setCursor(40, 0);
    M5.Lcd.println("SH200I TEST");
    M5.Lcd.setCursor(0, 15);
    M5.Lcd.println("  X       Y       Z");
}

float temp = 0;
/*****************************************
M5.Sh200Q.getGyroData(&gyroX,&gyroY,&gyroZ);
M5.Sh200Q.getAccelData(&accX,&accY,&accZ);
M5.Sh200Q.getTempData(&temp);
*****************************************/
void loop() {
    // put your main code here, to run repeatedly:
    M5.Sh200Q.getGyroData(&gyroX, &gyroY, &gyroZ);
    M5.Sh200Q.getAccelData(&accX, &accY, &accZ);
    M5.Sh200Q.getTempData(&temp);

    M5.Lcd.setCursor(0, 30);
    M5.Lcd.printf("%6.2f  %6.2f  %6.2f      ", gyroX, gyroY, gyroZ);
    M5.Lcd.setCursor(140, 30);
    M5.Lcd.print("o/s");
    M5.Lcd.setCursor(0, 45);
    M5.Lcd.printf(" %5.2f   %5.2f   %5.2f   ", accX, accY, accZ);
    M5.Lcd.setCursor(140, 45);
    M5.Lcd.print("G");
    M5.Lcd.setCursor(0, 60);
    M5.Lcd.printf("Temperature : %.2f C", temp);
    delay(1000);
}
